package add;

public class Solution {
    public int add(int a, int b) {
//        int sum = a;
//        int carray = 0;
//        while(b!=0){
//            sum=a^b;
//            carray = a&b<<1;
//            a = sum;
//            b = carray;
//        }
//        return sum;
        while(b!=0){
            int t = (a&b)<<1; //处理进位
            a = a^b; // 按位与
            b = t;
        }
        return a;
    }
    // 2 + 2
    // 0010
    // 0010 ^
    // 0000
    // 处理进位
    // 0010
    // 0010 &
    // 0010 <<1
    // 0100
    // 0000 ^
    // 0100
}
